package com.wjm;

import com.wjm.until.JdbcUtil;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Data:2022年09月06日
 * Author:wjm
 * Content:  Statement实现sql语句批量处理
 *
 *    批量处理的方法：
 *          addBatch(String sql)：
 *              Statement接口的方法, 可以将多条sql语句添加Statement对象的SQL语句列表中
 *
 *          addBatch()：
 *              PreparedStatement接口的方法, 可以将多条预编译的sql语句添加到PreparedStatement对象的SQL语句列表中
 *
 *          executeBatch()：
 *              把Statement对象或PreparedStatement对象语句列表中的所有SQL语句发送给数据库进行处理
 *
 *          clearBatch()：
 *              清空当前SQL语句列表
 *
 */
public class JdbcDemo2 {
    public static void main(String[] args) {
        try (Connection connection = JdbcUtil.getConnection()){
            //获取语句对象
            Statement statement = connection.createStatement();

            //创建sql语句
            String sql1 = "insert into users values (3,'王五','123');";
            String sql2 = "insert into users values (4,'马六','123');";

            //将多条sql语句装入Statement对象的SQL语句列表中
            statement.addBatch(sql1);
            statement.addBatch(sql2);

            //语句列表中的所有SQL语句发送给数据库进行处理
            statement.executeBatch();

            //清空当前SQL语句列表
            statement.clearBatch();


        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}
